home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / pcl4b42 / process.bas < prev    next >
BASIC Source File  |  1995-05-09  |  3KB  |  99 lines

  1.  '
  2.  ' Process ESC
  3.  '
  4.  
  5.  DefInt A-Z
  6.  
  7. '$INCLUDE: 'PROCESS.BI'
  8. '$INCLUDE: 'TERM_IO.BI'
  9. '$INCLUDE: 'PCL4B.BI'
  10. '$INCLUDE: 'XYMODEM.BI'
  11.  
  12. CONST FALSE = 0, TRUE = NOT FALSE
  13. Const NAK = &H15
  14.  
  15. Dim Shared ThePort
  16. Dim Shared Protocol$
  17. Dim Shared OneKflag
  18. Dim Shared NCGbyte
  19. Dim Shared BatchFlag
  20. Dim Shared BaudRate$
  21.  
  22. Sub InitProcess (ByVal ThePort, Baud$)
  23.   Port = ThePort
  24.   BaudRate$ = Baud$
  25.   Protocol$ = "X"
  26.   OneKflag = False
  27.   NCGbyte = NAK
  28.   BatchFlag = False
  29. End Sub
  30.  
  31. Function Process ()
  32.   Process = False
  33.   GetNameMsg$ = "Enter filename: "
  34.   'quit if user types ESC
  35.   If True Then
  36.     Call WriteMsg("Q)uit P)rotocol S)end R)eceive: ", 1)
  37.     Call ReadMsg(ResultMsg$, 32, 1)
  38.     C$ = UCase$(Left$(ResultMsg$, 1))
  39.     Select Case C$
  40.       Case "Q"   'QUIT
  41.         Print
  42.         Print ("TERMINATING: User pressed <ESC>")
  43.         RetCode = SioDone(ThePort)
  44.         Process = True
  45.         Exit Function
  46.       Case "P"   'PROTOCOL
  47.         Call WriteMsg("X)modem Y)modem ymodem-G): ", 1)
  48.         Call ReadMsg(ResultMsg$, 35, 1)
  49.         P$ = UCase$(Left$(ResultMsg$, 1))
  50.         Select Case P$
  51.           Case "X"  'XMODEM
  52.             Protocol$ = "X"
  53.             OneKflag = False
  54.             NCGbyte = NAK
  55.             BatchFlag = False
  56.             Call WriteMsg("Protocol = XMODEM", 1)
  57.           Case "Y"  'YMODEM
  58.             Protocol$ = "Y"
  59.             OneKflag = True
  60.             NCGbyte = Asc("C")
  61.             BatchFlag = True
  62.             Call WriteMsg("Protocol = YMODEM", 1)
  63.           Case "G"  'YMODEM-G
  64.             Protocol$ = "G"
  65.             OneKflag = True
  66.             NCGbyte = Asc("G")
  67.             BatchFlag = True
  68.             Call WriteMsg("Protocol = YMODEM-G", 1)
  69.         End Select
  70.         Call ShowStatus
  71.         'StatusMsg$ = "COM" + STR$(ThePort) + " " + Prococol$ + "  ESC for menu"
  72.         'CALL WriteMsg(StatusMsg$, 40)
  73.       Case "R"  'Receive
  74.         Filename$ = ""
  75.         If BatchFlag Then
  76.           Flag = YmodemRx(ThePort, Filename$, NCGbyte)
  77.         Else
  78.           Flag = XmodemRx(ThePort, Filename$, NCGbyte)
  79.         End If
  80.       Case "S"  'Send
  81.         Filename$ = ""
  82.         If BatchFlag Then
  83.           Flag = YmodemTx(ThePort, Filename$, OneKflag)
  84.         Else
  85.           Flag = XmodemTx(ThePort, Filename$, OneKflag)
  86.         End If
  87.       Case Else
  88.         Call WriteMsg("Bad response", 1)
  89.      End Select
  90.    End If
  91.  End Function
  92.  
  93. Sub ShowStatus ()
  94.   P$ = Str$(1 + ThePort)
  95.   StatusMsg$ = "COM" + Right$(P$, Len(P$) - 1) + " " + BaudRate$ + " " + Protocol$ + " ESC for menu"
  96.   Call WriteMsg(StatusMsg$, 45)
  97. End Sub
  98.  
  99.